home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr28 / mwftpd.zip / MANUAL.TXT < prev    next >
Text File  |  1993-03-06  |  64KB  |  1,423 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                                          FTPD
  23.  
  24.                     An FTP Daemon NLM for Novell Netware 386 3.11
  25.  
  26.  
  27.  
  28.                                  Administrators Guide
  29.  
  30.  
  31.  
  32.  
  33.                              Copyright (C) 1992 MurkWorks
  34.                                  All Rights Reserved
  35.                                     August 9, 1992
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                MurkWorks
  45.                P.O. Box 631
  46.                Potsdam, NY 13676 USA
  47.  
  48.                info@murkworks.com
  49.  
  50.  
  51.  
  52.  
  53.  
  54.           FTPD V1.31 Administrators Guide
  55.             Copyright 1992 MurkWorks
  56.           All Rights Reserved
  57.  
  58.           This software is not shareware, freeware nor public domain. It has
  59.           been provided to you in a limited timed demo format. You may use this
  60.           software without obligation until the demonstration period expires.
  61.           When the demonstration period has expired, the software will no longer
  62.           function. If you wish to continue to use the software you must
  63.           register it with MurkWorks and pay a per server license fee. See the
  64.           accompanying order form for pricing and ordering information. Dis-
  65.           assembly or patching of the software to provide execution beyond the
  66.           end of the demonstration period is expressly forbidden.
  67.  
  68.           Demo Version -- No Warranty
  69.  
  70.           MurkWorks makes no warranty of fitness or suitability for a particular
  71.           purpose. Although we have made every effort to ensure the reliable and
  72.           satisfactory operation of this software, we do not warrant it in any
  73.           way. You the user assume all responsibility in its use and operation.
  74.           MurkWorks shall not be held liable for any loss of any kind.
  75.  
  76.           Licensed Version -- Limited Warranty
  77.  
  78.           If you have registered your copy of the software and paid a license
  79.           fee to MurkWorks, this software is covered by a limited warranty for
  80.           the first sixty (60) days from the date of receipt of the license fee.
  81.           Should the software fail or prove unsatisfactory during that time
  82.           period MurkWorks sole remedy to you will be the reimbursement of your
  83.           license fee. In no event will MurkWorks be held liable to you for any
  84.           damages, including lost profits, lost savings or other incidental or
  85.           consequential damages arising out of the use of this software or the
  86.           inability to use this software.
  87.  
  88.           Trademarks
  89.  
  90.           Novell and Netware are registered trademarks, and Netware NLM, and
  91.           Netware Loadable Module are trademarks of Novell, Inc. Other computer
  92.           and software names are registered trademarks of their respective
  93.           manufacturers.
  94.  
  95.           This product was developed using Network C for NLMs , Novell 's
  96.           toolkit for developing server-based applications for the Netware  3.x
  97.           operating system.
  98.  
  99.           Additional Information
  100.  
  101.           For additional information, write to us via postal mail:
  102.  
  103.                MurkWorks
  104.                P.O. Box 631
  105.                Potsdam, NY 13676  USA
  106.  
  107.           Or send electronic mail to
  108.  
  109.                info@MurkWorks.com
  110.  
  111.  
  112.  
  113.  
  114.  
  115.                                   Table of Contents
  116.  
  117.  
  118.           Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   1
  119.                Features . . . . . . . . . . . . . . . . . . . . . . . .   1
  120.                System Requirements  . . . . . . . . . . . . . . . . . .   2
  121.  
  122.           Installation  . . . . . . . . . . . . . . . . . . . . . . . .   2
  123.                Quick Start  . . . . . . . . . . . . . . . . . . . . . .   2
  124.                Standard Installation  . . . . . . . . . . . . . . . . .   3
  125.  
  126.           Configuration File  . . . . . . . . . . . . . . . . . . . . .   3
  127.                Class Definitions  . . . . . . . . . . . . . . . . . . .   3
  128.                Addresses  . . . . . . . . . . . . . . . . . . . . . . .   4
  129.                Access Settings  . . . . . . . . . . . . . . . . . . . .   4
  130.                     log . . . . . . . . . . . . . . . . . . . . . . . .   5
  131.                     logfile . . . . . . . . . . . . . . . . . . . . . .   5
  132.                     connect . . . . . . . . . . . . . . . . . . . . . .   5
  133.                     idle  . . . . . . . . . . . . . . . . . . . . . . .   5
  134.                     timerange . . . . . . . . . . . . . . . . . . . . .   6
  135.                Deny . . . . . . . . . . . . . . . . . . . . . . . . . .   6
  136.                Allow  . . . . . . . . . . . . . . . . . . . . . . . . .   7
  137.                Deny/Allow Ordering  . . . . . . . . . . . . . . . . . .   7
  138.                MaxConnections . . . . . . . . . . . . . . . . . . . . .   8
  139.                ScreenDelay  . . . . . . . . . . . . . . . . . . . . . .   8
  140.                LogFile  . . . . . . . . . . . . . . . . . . . . . . . .   8
  141.  
  142.           Operation . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  143.                Command Line Options . . . . . . . . . . . . . . . . . .  10
  144.                Console Commands . . . . . . . . . . . . . . . . . . . .  10
  145.                Monitor Display  . . . . . . . . . . . . . . . . . . . .  11
  146.                Home Directories . . . . . . . . . . . . . . . . . . . .  13
  147.                User Commands  . . . . . . . . . . . . . . . . . . . . .  13
  148.                Anonymous Accounts . . . . . . . . . . . . . . . . . . .  14
  149.                Proxy Connections  . . . . . . . . . . . . . . . . . . .  15
  150.                Security Considerations  . . . . . . . . . . . . . . . .  15
  151.  
  152.           Performance . . . . . . . . . . . . . . . . . . . . . . . . .  18
  153.                How We Test  . . . . . . . . . . . . . . . . . . . . . .  18
  154.                Memory Requirements  . . . . . . . . . . . . . . . . . .  18
  155.                Processor Utilization  . . . . . . . . . . . . . . . . .  19
  156.  
  157.           How to Get Support  . . . . . . . . . . . . . . . . . . . . .  21
  158.  
  159.           Appendix A
  160.                               Sample Configuration File . . . . . . . .  22
  161.  
  162.           Appendix B
  163.                                 Supported FTP Commands  . . . . . . . .  24
  164.  
  165.  
  166.  
  167.  
  168.  
  169.                                                                           1
  170.  
  171.           Introduction
  172.  
  173.                     Welcome to MurkWorks FTP Daemon NLM for Netware 386.
  174.                     This product provides an efficient and useful FTP
  175.                     daemon NLM for your Netware 386 server. 
  176.  
  177.                     FTP (File Transfer Protocol) is described in RFC959. It
  178.                     provides a mechanism for internet hosts to transfer
  179.                     files in text or binary mode between cooperating
  180.                     systems. FTPD V1.31 supports the most common commands
  181.                     listed in RFC959. For a complete list of supported
  182.                     commands see appendix B.
  183.  
  184.                     This manual assumes that you have a basic understanding
  185.                     of the TCP/IP protocol and a thorough understanding of
  186.                     the NW386 environment. If you do not currently have the
  187.                     TCPIP.NLM module loaded on your Netware server, now
  188.                     would be a good time to review the TCP/IP Transport
  189.                     Supervisor's Guide provided with the NW386 3.11 manual
  190.                     set.
  191.  
  192.           Features
  193.  
  194.                     FTPD.NLM supports the following features:
  195.  
  196.                               Multiple simultaneous service connections
  197.  
  198.                               Real-time monitor display
  199.  
  200.                               Transaction logging
  201.  
  202.                               Access control by remote IP address, target
  203.                               server and user
  204.  
  205.                               Supports NW2.15 servers through `proxy' ftp
  206.                               service
  207.  
  208.                               Anonymous connections
  209.  
  210.                               Idle and connect timeouts, restricted access
  211.                               times, etc
  212.  
  213.  
  214.  
  215.  
  216.  
  217.                                                                           2
  218.  
  219.           System Requirements
  220.  
  221.                     NLMS
  222.  
  223.                     The FTPD NLM uses both CLIB.NLM and the TCPIP.NLM. When
  224.                     loading the TCPIP.NLM, CLIB will be automatically
  225.                     loaded. Follow the procedures outlined in the TCP/IP
  226.                     Transport Supervisor's Guide when installing and
  227.                     configuring the TCPIP nlm. You will need to provide at
  228.                     least one IP address for your Netware server. 
  229.  
  230.                     MEMORY
  231.  
  232.                     A typical Netware 386 server with 4 megabytes of RAM is
  233.                     quite sufficient to operate the FTPD NLM. A detailed
  234.                     analysis of the memory required per connection is
  235.                     described in the Performance section of this manual.
  236.  
  237.           Installation
  238.  
  239.           Quick Start
  240.  
  241.                     If you're impatient and don't want to read through this
  242.                     manual, follow the instructions in this section to get
  243.                     the NLM up and running as quickly as possible. Without
  244.                     a configuration file, the FTPD NLM will not provide any
  245.                     access control beyond standard Novell password
  246.                     checking. This may be sufficient for your needs. You
  247.                     can always follow the full installation instructions
  248.                     later if you so desire.
  249.  
  250.                     This program is distributed with the file:
  251.  
  252.                          ftpd.nlm  -    The FTPD NLM
  253.  
  254.                     If you have licensed your copy of the FTPD NLM, you
  255.                     will have also received the file:
  256.  
  257.                          ftpd.key  -    Security key file
  258.  
  259.                     To install the FTPD NLM on your Netware 386 server, log
  260.                     into the server as supervisor and copy the ftpd.nlm
  261.                     file to sys:system. If you have licensed your copy, you
  262.                     should also copy the file ftpd.key to sys:system.
  263.  
  264.                     If you're in a hurry, load the FTPD NLM by issuing the
  265.                     follow command on the NW386 console:
  266.  
  267.                          load ftpd
  268.  
  269.                     otherwise, create a configuration file as described in
  270.                     the Configuration File section before loading the NLM
  271.  
  272.  
  273.  
  274.  
  275.  
  276.                                                                           3
  277.  
  278.                     with the load command.
  279.  
  280.           Standard Installation
  281.  
  282.                     If you wish to make use of the additional security
  283.                     features of the FTPD NLM, you will have to create a
  284.                     configuration file. The next section of this manual
  285.                     describes how to create a configuration file.
  286.  
  287.                     After creating the configuration file, follow the
  288.                     instructions described in the Quick Start section shown
  289.                     above.
  290.  
  291.  
  292.           Configuration File
  293.  
  294.                     The file ftpd.cfg is provided in the distribution as an
  295.                     example only. Do not copy this file into the sys:system
  296.                     directory.  Instead, you should print this file on a
  297.                     printer and use it as a reference when creating your
  298.                     own ftpd.cfg file. This sample file is also listed in
  299.                     the appendix of this manual.
  300.  
  301.                     The configuration file uses a simple ASCII format with
  302.                     one command per line. Lines which begin with the pound
  303.                     symbol (#) are comment lines and are ignored.
  304.  
  305.                     Use a suitable text editor to create a file called
  306.                     ftpd.cfg in the sys:system directory. This file will
  307.                     control how the FTPD NLM operates. Read this section
  308.                     carefully to get the most out of your software.
  309.  
  310.                     If you create a new ftpd.cfg file or alter an existing
  311.                     one, you will have to either reload the FTPD NLM or
  312.                     issue the ftpd reconfig command before the changes will
  313.                     take effect.
  314.  
  315.           Class Definitions
  316.  
  317.                     When a remote client connects to the FTPD NLM for
  318.                     service, its internet address (IP Address) or internet
  319.                     name can be used to place it in an access class. This
  320.                     allows connections to be grouped based on whether they
  321.                     are `local' or `remote'.  For example, a university may
  322.                     wish to have one access class defined for on campus
  323.                     clients, and a second one defined for off campus users.
  324.  
  325.  
  326.                     Classes can have a list of valid servers and users, as
  327.                     well as default settings for transaction logging, time
  328.                     limits and so forth.
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                                                           4
  335.  
  336.                     A new class is defined with the class command, as
  337.                     follows
  338.  
  339.                          class     classname
  340.  
  341.                     where classname is the name of the class. This name may
  342.                     be anything meaningful to the supervisor. There is one
  343.                     special class whose name is default. This class is used
  344.                     whenever an incoming connection does not match any
  345.                     other listed class.
  346.  
  347.           Addresses
  348.  
  349.                     Following the class command is a list of access control
  350.                     commands and the class definition command: address. The
  351.                     address command controls which remote connections are
  352.                     grouped into the specified class. The address command
  353.                     takes one argument, an IP Address or IP Name:
  354.  
  355.                          address   129.134.*.*
  356.                          address   *.murkworks.com
  357.  
  358.                     The address command must follow a class command, and
  359.                     may appear more than once in a given class. The asterix
  360.                     (*) indicates a wild-card pattern, which means any
  361.                     value may occupy its space. The address command is not
  362.                     allowed in the default class.
  363.  
  364.                     When a client connects to the FTPD NLM, the class list
  365.                     is searched for a match. The first class found which
  366.                     has an address pattern that matches the client's IP
  367.                     address or name is used for access control. 
  368.  
  369.                     Novell Netware 386 keeps its IP Name to IP Address
  370.                     mapping information in the file sys:etc/hosts  This
  371.                     file may not contain all internet names and addresses.
  372.                     Therefore it is important to specify an IP address in
  373.                     addition to the IP name. If the client's IP name is not
  374.                     listed in the hosts file, the FTPD NLM will use the
  375.                     client's IP address to match against.
  376.  
  377.           Access Settings
  378.  
  379.                     Each class may have default access control settings.
  380.                     The settings command determines how clients may access
  381.                     the Netware server. The settings command has its own
  382.                     sub-commands, which generally appear as follows:
  383.  
  384.                          settings  [sub-commands]
  385.  
  386.  
  387.  
  388.  
  389.  
  390.                                                                           5
  391.  
  392.                     Where [sub-commands] may be one or more of the
  393.                     following:
  394.                               Command        Argument
  395.  
  396.                               log            count
  397.                               logfile             log_file_name
  398.                               connect        connect_time_in_minutes
  399.                               idle           idle_timeout_in_minutes
  400.                               timerange      allowed_access_timerange
  401.                               readonly
  402.  
  403.                     All sub-commands and their arguments should appear on
  404.                     the same line as the settings command, however settings
  405.                     can be continued on the next line by inserting a plus
  406.                     symbol (+) at the end of each continued line. The plus
  407.                     symbol may not appear between sub-commands and their
  408.                     arguments. See the sample configuration file for an
  409.                     example of setting continuations.
  410.  
  411.                     The log  count  setting indicates that client
  412.                     transactions for this class should be logged to the
  413.                     logfile. The number of transactions to be logged is not
  414.                     to exceed count entries. When this setting is in
  415.                     effect, transactions such as login, logout, read,
  416.                     write, delete, rmdir and mkdir are recorded in the log
  417.                     file sys:system\ftpd.log.  If you only want a record of
  418.                     login and logout times, use a log count of zero (0).
  419.  
  420.                          Example:  log  0
  421.  
  422.                     The logfile setting specifies the name of the file in
  423.                     which log entries should be stored for this class. This
  424.                     setting over-rides the system-wide setting logfile (see
  425.                     below) if specified. The file name must be a fully
  426.                     specified name which includes the volume name.
  427.  
  428.                          Example:  logfile        vol1:usr/anon/logfile.log
  429.  
  430.                     The connect  connect_time_limit command specifies the
  431.                     maximum connect time for any client in this class. 
  432.                     After the time limit expires, the client will receive
  433.                     an error message and be automatically disconnected by
  434.                     the server at the completion of any pending command. 
  435.                     The time limit is specified in minutes. The limited
  436.                     demo version of the NLM enforces a maximum connect time
  437.                     of five minutes.
  438.  
  439.  
  440.                     The idle  idle_timeout_limit specifies the maximum idle
  441.                     time allowed for any client in this class. If the
  442.                     client does not issue a command within the idle time
  443.                     limit, the client will receive an error message and be
  444.  
  445.  
  446.  
  447.  
  448.  
  449.                                                                           6
  450.  
  451.                     automatically disconnected. This command is useful in
  452.                     eliminating `dead' connections due to failed internet
  453.                     connectivity. However, too short of an idle timeout may
  454.                     cause unintended service disruption to the client. The
  455.                     time limit is specified in minutes.
  456.  
  457.                     The timerange  allowed_access_timerange controls when
  458.                     clients within this class may access the Novell Netware
  459.                     server. The format of allowed_access_timerange is:
  460.  
  461.                          timerange startday-endday/starthour-endhour
  462.  
  463.                     For example:
  464.  
  465.                          timerange mon-fri/8-17
  466.  
  467.                     In the above example, clients are allowed access monday
  468.                     through friday from 8am to 5pm.
  469.  
  470.                     The timerange command may be specified multiple times
  471.                     if desired.
  472.  
  473.                     The readonly command specifies that all clients within
  474.                     this class have readonly access to the Novell Netware
  475.                     server. Even if a particular user has trustee rights
  476.                     which grant him write access, this setting disables all
  477.                     commands which may alter data on the server. 
  478.  
  479.           Deny
  480.                     The deny command lists those servers and/or users who
  481.                     should be denied access within this class.  The format
  482.                     of the command is:
  483.  
  484.                          deny      [server/]user
  485.  
  486.                     Where server/ is an optional server name. If the server
  487.                     is not specified, it applies to the server on which the
  488.                     FTPD NLM is operating. Both server and user may be the
  489.                     wildcard (*), meaning all servers or all users
  490.                     respectively.
  491.  
  492.                     For example, suppose you had defined a class for all
  493.                     local clients. That class would have no restrictions of
  494.                     any kind. You may then wish to add access restrictions
  495.                     for the default class which would apply to any non-
  496.                     local client. If you don't want to allow any non-local
  497.                     clients to have access to any of your Novell Servers,
  498.                     you could issue the following two commands in the
  499.                     configuration file:
  500.  
  501.                          class     default
  502.                               deny      */*
  503.  
  504.  
  505.  
  506.  
  507.  
  508.                                                                           7
  509.  
  510.           Allow
  511.                     The allow command lists those servers and/or users
  512.                     which should be allowed access within this class. This
  513.                     command over-rides any previous deny command. The
  514.                     format of the command is:
  515.  
  516.                          allow          [server/]user       optional
  517.                                                             settings
  518.  
  519.                     Where server/ is an optional server name. If the server
  520.                     is not specified, it applies to the server on which the
  521.                     FTPD NLM is operating. Both server and user may be the
  522.                     wildcard (*), meaning all servers or all users
  523.                     respectively.
  524.  
  525.                     The optional settings argument is a list of
  526.                     settings sub-commands which should be applied to this
  527.                     server/user. If any optional settings sub-commands are
  528.                     listed, then all settings for the class are ignored for
  529.                     this user. Therefore any settings which apply to the
  530.                     class, which should also apply to the server/user must
  531.                     be repeated on this line. 
  532.  
  533.                     For example, suppose a particular class had a setting
  534.                     timerange of mon-fri/8-17 If you wanted to grant
  535.                     readonly access for a particular user but maintain the
  536.                     timerange, the class definition would look something
  537.                     like the following:
  538.  
  539.                          class          example
  540.                               settings  timerange mon-fri/8-17
  541.                               allow          FS1/guest readonly, timerange
  542.                                                        mon-fri/8-17
  543.  
  544.                     If the timerange command were not repeated on the allow
  545.                     line, then the user FS1/guest would not have any
  546.                     timerange limit because any setting sub-command on the
  547.                     allow command line overrides all setting sub-commands
  548.                     for the class.
  549.  
  550.           Deny/Allow Ordering
  551.  
  552.                     The order of the deny and allow commands within the
  553.                     class is important. All class definitions begin with an
  554.                     implied allow */*.  Access checking follows the list of
  555.                     deny/allow commands in the order in which they are
  556.                     encountered within the configuration file. Deny
  557.                     commands mask out access, where allow commands add in
  558.                     access.  The first deny command which explicitely
  559.                     matches the target userid terminates the search.
  560.                     Wildcard deny's do not terminate the search, instead
  561.  
  562.  
  563.  
  564.  
  565.  
  566.                                                                           8
  567.  
  568.                     subsequent wildcard allows or explicit allows may over-
  569.                     ride the previously encountered deny command.
  570.  
  571.                     When the last deny/allow command is encountered in the
  572.                     class, the logical result determines whether or not
  573.                     access is allowed and which settings are applied.
  574.  
  575.                     For example, if you wanted to grant all users access to
  576.                     a particular server with readonly access,  but you
  577.                     wanted the supervisor to have full access, the
  578.                     following would be a possible configuration file entry.
  579.  
  580.                          allow          */*       readonly
  581.                          allow          */supervisor
  582.  
  583.                     If the order of the above commands were reversed, the
  584.                     supervisor would have readonly access because the */*
  585.                     mask also applies to the supervisor.
  586.  
  587.  
  588.  
  589.           MaxConnections
  590.  
  591.                     This command specifies the maximum number of
  592.                     simultaneous client connections. For the limited timed
  593.                     demo version of this program, the maximum number of
  594.                     connections is silently forced to two (2) or less. In
  595.                     the licensed version, the maximum number of connections
  596.                     is thirty-two (32).
  597.  
  598.                     If this command is not specified, the default number of
  599.                     connections is (2) in the limited timed demo version,
  600.                     and (5) in the licensed version.
  601.  
  602.                     Example:
  603.                          maxconnections 3
  604.  
  605.           ScreenDelay
  606.  
  607.                     This command specifies the number of seconds between
  608.                     monitor screen updates. If this command is not
  609.                     specified, the default is (2) seconds between screen
  610.                     refreshes. The minimum allowable value is (1). Too low
  611.                     a value may increase server utilization if there are
  612.                     many active connections. A value between (2) and (5) is
  613.                     recommended.
  614.  
  615.                     Example:
  616.                          screendelay         5
  617.  
  618.           LogFile
  619.  
  620.  
  621.  
  622.  
  623.  
  624.                                                                           9
  625.  
  626.                     This command specifies the name of the system-wide log
  627.                     file. The system-wide logfile is where transactions
  628.                     will be logged for those users or classes for which no
  629.                     logfile command has been specified. The logfile name
  630.                     must be the full-path name of the log file. If this
  631.                     command is not specified, the default is
  632.                     sys:system\ftpd.log
  633.  
  634.                     Example:
  635.                          logfile             sys:system\access.log
  636.  
  637.  
  638.  
  639.  
  640.  
  641.                                                                          10
  642.  
  643.           Operation
  644.  
  645.           Command Line Options
  646.  
  647.                     The FTPD NLM recognizes several command line arguments
  648.                     which can be provided during the load phase.
  649.  
  650.  
  651.                          /config   config_file    Specifies the path to an
  652.                                                   alternate configuration
  653.                                                   file, instead of the
  654.                                                   default
  655.                                                   sys:system\ftpd.cfg
  656.  
  657.                          /keyfile  key_file  Specifies the path to an
  658.                                              alternate key file instead of
  659.                                              the default
  660.                                              sys:system\ftpd.key
  661.  
  662.                          /delay         delay_time     Specifies the
  663.                                                        monitor screen
  664.                                                        update delay in
  665.                                                        seconds. Overrides
  666.                                                        any value specified
  667.                                                        in the configuration
  668.                                                        file.
  669.  
  670.                          /max      count          Specifies the maximum
  671.                                                   number of connections.
  672.                                                   Overrides any value
  673.                                                   specified in the
  674.                                                   configuration file.
  675.  
  676.                          /display            Enables the monitor display.
  677.                                              By default the monitor display
  678.                                              is not shown. Using this
  679.                                              switch causes the display to
  680.                                              appear when the NLM is loaded.
  681.  
  682.                     Example:
  683.                               load ftpd /display  /delay 5  /max 3
  684.  
  685.                     This command line loads the FTPD NLM, enables the
  686.                     monitor display with an update frequency of 5 seconds
  687.                     and a maximum of 3 connections.
  688.  
  689.           Console Commands
  690.  
  691.                     The FTPD NLM provides an additional set of console
  692.                     commands which can be entered at the NW386 console
  693.                     prompt. All of the following commands are prefixed with
  694.  
  695.  
  696.  
  697.  
  698.  
  699.                                                                          11
  700.  
  701.                     the keyword  ftpd, which indicates that the command is
  702.                     for the FTPD NLM.
  703.  
  704.  
  705.                          ftpd disable             This console command
  706.                                                   disables new incoming
  707.                                                   connections. Current
  708.                                                   connections are not
  709.                                                   effected.
  710.  
  711.                          ftpd enable              This console command
  712.                                                   enables the FTPD,
  713.                                                   allowing additional
  714.                                                   incoming connections.
  715.  
  716.                          ftpd serialnum      This console command displays
  717.                                              serial number and application
  718.                                              information required to
  719.                                              register your copy of the FTPD
  720.                                              NLM.
  721.  
  722.                          ftpd displayon      This console command enables
  723.                                              the monitor display.
  724.  
  725.                          ftpd displayoff          This console command
  726.                                                   disables the monitor
  727.                                                   display.
  728.  
  729.                          ftpd delay     delay_time     This console command
  730.                                                        sets the monitor
  731.                                                        display delay time
  732.                                                        to delay_time
  733.                                                        seconds. 
  734.  
  735.                          ftpd reconfig  config_file    This console command
  736.                                                        causes the NLM to
  737.                                                        reload the
  738.                                                        configuration file.
  739.                                                        If an optional
  740.                                                        configuration file
  741.                                                        name is provided
  742.                                                        after the command,
  743.                                                        then that file is
  744.                                                        used instead of the
  745.                                                        default
  746.                                                        sys:system\ftpd.cfg
  747.  
  748.                                              This command is only allowed
  749.                                              when there are no active
  750.                                              connections.
  751.  
  752.           Monitor Display
  753.  
  754.  
  755.  
  756.  
  757.  
  758.                                                                          12
  759.  
  760.                     The FTPD NLM provides a near real-time display of
  761.                     current connections. To make use of the display you
  762.                     must enable it either by using the /display command
  763.                     line option or the ftpd displayon console command.
  764.  
  765.                     The monitor display shows the first eleven (11)
  766.                     connections. Each connection occupies two lines of the
  767.                     display. The format of the display is as follows:
  768.  
  769.            client_host_name                        | last_command | username
  770.            files     | bytes   | Kb/sec  | connect | idle_time    | last arg
  771.  
  772.  
  773.                          client_host_name         Displays the client host
  774.                                                   name, if known, otherwise
  775.                                                   it displays the client IP
  776.                                                   address.
  777.  
  778.                          last_command        Displays the last FTP command
  779.                                              issued by the client.
  780.  
  781.                          username            Displays the SERVER/USERNAME
  782.                                              under which the client has
  783.                                              logged in. If the username
  784.                                              corresponds to a no-password
  785.                                              anonymous account, the symbol
  786.                                              *A* also appears in this
  787.                                              field.
  788.  
  789.                          files                    Displays the count of
  790.                                                   files transferred by the
  791.                                                   client during this
  792.                                                   session.
  793.  
  794.                          bytes                    Displays the total byte
  795.                                                   count transferred by the
  796.                                                   client during this
  797.                                                   session.
  798.  
  799.                          KB/sec              Displays the average KB/Sec
  800.                                              for all files transferred by
  801.                                              the client.
  802.  
  803.                          connect             Displays the total client
  804.                                              connect time in HH:MM:SS
  805.                                              format.
  806.  
  807.                          idle_time           Displays the current client
  808.                                              idle time in HH:MM:SS format.
  809.  
  810.  
  811.  
  812.  
  813.  
  814.                                                                          13
  815.  
  816.                          last_arg            Displays the argument for the
  817.                                              last FTP protocol command
  818.                                              issued by the client.
  819.  
  820.  
  821.           Home Directories
  822.  
  823.                     When a client logs in to a Netware server, the FTPD NLM
  824.                     examines the bindery information for that userid.  The
  825.                     NLM looks for a bindery property of the name HOME_DIR.
  826.                     If this bindery property is found, it executes an
  827.                     automatic chdir to value of that property. This
  828.                     provides a means to specify a `home directory' for each
  829.                     user. There are several freeware utilities which
  830.                     provide the tools required to set this value, including
  831.                     David Harris' SETHOME package available from most
  832.                     Novell oriented FTP sites and BBSs.
  833.  
  834.                     If the HOME_DIR property is not found, the FTPD NLM
  835.                     scans the Trustee Paths for that userid. If any Trustee
  836.                     Path has a trailing directory component which matches
  837.                     the userid (or nearly matches) then that Trustee Path
  838.                     is chosen as a home directory.
  839.  
  840.                     For example, given the account anonymous with the
  841.                     following Trustee Paths:
  842.  
  843.                          sys:mail/0023023
  844.                          sys:usr/anony
  845.  
  846.                     The FTPD NLM would select the Trustee Path
  847.                     sys:usr/anony as the home directory for the anonymous
  848.                     userid.
  849.  
  850.  
  851.           User Commands
  852.  
  853.                     The FTPD NLM provides the usual FTP command services.
  854.                     This version offers one additional site specific
  855.                     command:
  856.  
  857.                          site tp
  858.  
  859.                     This site specific command causes the NLM to list the
  860.                     trustee paths available to the user. A typical unix
  861.                     client can issue this command by using the FTP client
  862.                     quote command:
  863.  
  864.                          quote site tp
  865.  
  866.                     Additionally, the user can return to their
  867.                     HOME_DIRECTORY by issuing the command:
  868.  
  869.  
  870.  
  871.  
  872.  
  873.                                                                          14
  874.  
  875.                          cwd ~
  876.  
  877.                     The FTPD NLM recognizes the token (~) as meaning the
  878.                     home directory chosen for this user during the login
  879.                     sequence. An error message is returned if no suitable
  880.                     home directory could be found.
  881.  
  882.           Anonymous Accounts
  883.  
  884.                     The FTPD NLM fully supports so-called `anonymous'
  885.                     client connections. A typical anonymous client accesses
  886.                     the server with the username of `anonymous', at which
  887.                     point the server prompts the user for an email address
  888.                     or other identifier instead of requesting a password.
  889.                     This allows users to access the server without having
  890.                     to know a special password. The FTPD NLM will record
  891.                     the user supplied address/password to the log file if
  892.                     logging is enabled for the anonymous account.
  893.  
  894.                     The FTPD NLM considers any account which has no
  895.                     password to be an anonymous account.  Therefore the
  896.                     actual account name `anonymous' has no special
  897.                     signifigance to the FTPD NLM.
  898.  
  899.                     The following steps are recommended when setting up an
  900.                     anonymous account:
  901.  
  902.                          A.   Use syscon to create a user account named
  903.                               `anonymous'
  904.                          B.   Remove the user from all groups (including
  905.                               EVERYONE)
  906.                          C.   Create a station restriction for the account
  907.                               which will inhibit any workstation from
  908.                               logging into the account.
  909.                          D.   Make the password for the account be empty,
  910.                               and do not require a password for the
  911.                               account.
  912.                          E.   Make the account a trustee for a secure
  913.                               directory with [R F] rights only.
  914.                          F.   Remote the account's access rights to it's
  915.                               sys:mail directory.
  916.                          G.   Use the SETHOME freeware utility to set the
  917.                               home directory for this account to match the
  918.                               secure directory.
  919.  
  920.                     When a remote user logs into the server by specifying a
  921.                     userid of `anonymous', they will be prompted for an
  922.                     email address because the FTPD NLM will realize that
  923.                     the account has no password.  After the user provides
  924.                     an email address the default current directory will be
  925.                     set to the secure directory.
  926.  
  927.  
  928.  
  929.  
  930.  
  931.                                                                          15
  932.  
  933.           Proxy Connections
  934.  
  935.                     The FTPD NLM provides `proxy' FTP service to older,
  936.                     non-Netware 386 servers.
  937.  
  938.           Security Considerations
  939.  
  940.                     The FTPD NLM does not inherently make your Novell
  941.                     server less secure. It does, however, add another
  942.                     avenue of attack into your server. Prudent use of the
  943.                     FTPD.CFG file will ensure that remote users do not
  944.                     violate the integrity of your system. 
  945.  
  946.                     The FTPD NLM attempts to resist password cracking
  947.                     schemes by disconnecting any connection which enters an
  948.                     incorrect password three times in a row. ie:, after the
  949.                     third incorrectly entered password the user is
  950.                     disconnected and a warning message is written to the
  951.                     server console. Also, on the second and third login
  952.                     attempts (after the first incorrect password) the FTPD
  953.                     NLM delays the login process by three and six seconds
  954.                     respectively in an effort to slow down any password
  955.                     cracking program.
  956.  
  957.                     If fifteen incorrect passwords are entered without an
  958.                     intervening correct login (on any server, for any
  959.                     account), then the FTPD NLM also broadcasts a warning
  960.                     message to all users attached to the file server. This
  961.                     serves to alert the supervisor or another responsible
  962.                     party that the file server is under attack from a
  963.                     password cracking program.
  964.  
  965.                     Finally, accounts whose password has expired are denied
  966.                     access to the server (whereas the Netware shell would
  967.                     normally allow access and prompt for a new password).
  968.  
  969.                     Following are some suggestions to improve security on
  970.                     your server.
  971.  
  972.                          A.   The NLM environment does not recognize
  973.                               station restrictions on the local server. If
  974.                               you have accounts that have station
  975.                               restrictions, and you do not wish those
  976.                               accounts to be able to access the server via
  977.                               FTP, you must explicitely deny those accounts
  978.                               access because the NLM can not recognize
  979.                               station restrictions on the local server.
  980.  
  981.                               Station restrictions are recognized on remote
  982.                               servers. If a remote server specifies a
  983.                               station restriction for an account which
  984.                               should have FTP access, you must add the
  985.  
  986.  
  987.  
  988.  
  989.  
  990.                                                                          16
  991.  
  992.                               network address of the local server to the
  993.                               station restriction list of the remote
  994.                               server. You can obtain the station address of
  995.                               the local server by executing the slist
  996.                               command from the DOS prompt and noting the
  997.                               address for the local server.
  998.  
  999.                          B.   Intruder detection lockout may disable an
  1000.                               account if excessive invalid passwords are
  1001.                               entered. The FTPD NLM attempts to access an
  1002.                               account twice for each login, the first time
  1003.                               with no password (to see if the account is an
  1004.                               `anonymous' account) and the second time to
  1005.                               actually log in the user (if a password was
  1006.                               required). On remote servers there is no
  1007.                               other way to determine if a password is
  1008.                               required for an account.
  1009.  
  1010.                               Therefore, for each attempted login where an
  1011.                               invalid password is specified the NLM
  1012.                               actually attempts two logins to the specified
  1013.                               account. If the intruder lockout detection
  1014.                               count value is set too low, accounts may get
  1015.                               locked prematurely.
  1016.  
  1017.                               Additionally, malicous users may
  1018.                               intentionally issue invalid passwords in an
  1019.                               attempt to lock an account. This problem is
  1020.                               not specific to the FTPD NLM, as any user on
  1021.                               a workstation may do the same thing.
  1022.  
  1023.                               To avoid locking the supervisor's account or
  1024.                               other important accounts, you should
  1025.                               explicitely deny access to those accounts in
  1026.                               the ftpd.cfg file. Accounts which are
  1027.                               `denied' are immediately rejected without a
  1028.                               login attempt.
  1029.  
  1030.                          C.   Be sure that users granted access via FTP
  1031.                               have the appropriate rights to directories on
  1032.                               the server. This is especially important with
  1033.                               `anonymous' accounts which might accidentally
  1034.                               be left in the EVERYONE group.  Judicious use
  1035.                               of the readonly attribute will ensure that
  1036.                               data is not lost if password secrecy is
  1037.                               compromised.
  1038.  
  1039.                          D.   Be careful if your server is reachable from
  1040.                               the Internet or other wide-area networks. If
  1041.                               you have, until recently, counted on the non-
  1042.                               routed aspect of IPX for security, be aware
  1043.                               that once connected to the Internet your
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.                                                                          17
  1050.  
  1051.                               server becomes reachable from places you've
  1052.                               probably never heard of. The best course of
  1053.                               action when first enabling FTP is to deny all
  1054.                               users, then expressly allow only those
  1055.                               accounts which require FTP access. Of those
  1056.                               accounts requiring access, grant
  1057.                               readonly access to those accounts which do
  1058.                               not need to write to the file server.
  1059.  
  1060.                          E.   You should maintain a logfile of all
  1061.                               transactions, or at the very least log all
  1062.                               login/logout activity. Examine this logfile
  1063.                               on a periodic basis and note accesses from
  1064.                               address which seem inappropriate.
  1065.  
  1066.  
  1067.                          F.   If you want to totally inhibit all `non-
  1068.                               local' ftp connections, create a class for
  1069.                               `local' addresses. In the `local' class,
  1070.                               configure the deny/allow settings as
  1071.                               described previously. Then create a default
  1072.                               class which deny's all users on all servers.
  1073.  
  1074.                               Example:
  1075.                                    class default
  1076.                                         deny */*
  1077.  
  1078.                                    class local
  1079.                                         addresses *.mydomain.com
  1080.                                         addresses 129.136.*.*
  1081.                                         deny      */*
  1082.                                         allow     bill
  1083.                                         allow     tom
  1084.                                         settings  log 10
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.                                                                          18
  1091.  
  1092.           Performance
  1093.  
  1094.                     This section of the manual describes the memory
  1095.                     requirements and expected performance of the FTPD NLM.
  1096.                     It describes how we tested and developed the NLM. You
  1097.                     do not have to read this section to make use of the
  1098.                     FTPD NLM.
  1099.  
  1100.  
  1101.           How We Test
  1102.  
  1103.                     The FTPD NLM was tested `in-house' on two NW386 file
  1104.                     servers, one a 386/33 with 4 megabytes of ram, the
  1105.                     other a 486/33 with 8 megabytes of ram. In all cases
  1106.                     the client was a 486/33 running Dell Computer
  1107.                     Corporation's OEM version of USL SYSVR4 Unix . 
  1108.  
  1109.                     A series of test `scripts' were used (the
  1110.                     expect package for Unix implemented the scripts) which
  1111.                     exercised all functions within the NLM, the expected
  1112.                     return codes and the file transfer operations.
  1113.  
  1114.                     These scripts were executed multiple times, simulating
  1115.                     simultaneous clients. The scripts also repeatedly used
  1116.                     the mget and mput operation in an effort to place the
  1117.                     maximum load on the Netware server.
  1118.  
  1119.                     All scripts were executed with the FTPD NLM running
  1120.                     with and without protect.nlm1 Additionally, a select
  1121.                     group of beta testers have tested this NLM in several
  1122.                     different environments.
  1123.  
  1124.           Memory Requirements
  1125.  
  1126.                     This version has the following memory requirements
  1127.                     (values are approximate). This information was gleaned
  1128.                     from monitor.nlm under the Resource Utilization
  1129.                     section.
  1130.  
  1131.                Base Memory    NLM size       13 K bytes
  1132.                               Base Socket    9.5 K bytes
  1133.                Each Client                   13 K bytes additional
  1134.                Monitor Screen                8 K bytes additional
  1135.                Each Transaction              32 bytes plus filename size
  1136.  
  1137.                     Using the above information, the maximum amount of
  1138.                     memory used by the NLM can be determined. 
  1139.                               
  1140.  
  1141.                1Protect.nlm is provided with the Netware C for NLMS kit.
  1142.           This NLM detects memory accesses outside the area set aside for
  1143.           the NLM.
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.                                                                          19
  1150.  
  1151.                     For example, suppose a maximum of two connections was
  1152.                     allowed. If every client connection was to be logged
  1153.                     with a maximum of 100 transactions each, and if the
  1154.                     average filename size was 40 bytes, then the memory
  1155.                     usage would be as follows:
  1156.  
  1157.                          22.5 K         Base Memory
  1158.                          26 K           Two client connections
  1159.                          (32 + 40) * 200     Maximum log entries stored in
  1160.                                              memory
  1161.                          -------------
  1162.                          64 K bytes          Total memory used
  1163.  
  1164.                     The transaction entries are stored in memory until the
  1165.                     client logs out, at which time the client thread gains
  1166.                     back its supervisor privileges, allowing it to write to
  1167.                     the log file in sys:system.
  1168.  
  1169.  
  1170.           Processor Utilization
  1171.  
  1172.                     Processor utilization information was obtained by
  1173.                     loading monitor.nlm with the -p command line option
  1174.  
  1175.                               load monitor -p
  1176.  
  1177.                     The test process used a 5 megabyte PostScript file for
  1178.                     transfer. The file was read multiple times, noting the
  1179.                     maximum utilization figure ever shown on the monitor
  1180.                     display, along with the maximum percentage utilization
  1181.                     per process. The Netware server was a 486/33 with 8
  1182.                     megabytes of Ram and an ESDI disk running through an
  1183.                     Ultrastor 12F controller.
  1184.  
  1185.                     The test file was transferred in both directions using
  1186.                     binary and ascii mode. As expected, ascii transfer had
  1187.                     a higher utilization due to the extra processing
  1188.                     involved.
  1189.  
  1190.                     The test was executed on a private ethernet connection,
  1191.                     the server used a Racal-Interlan NI6510 lan card, the
  1192.                     client (SYSVR4 Unix on 486/33) used a Western Digital
  1193.                     (SMC) WD8003EBT lan card.
  1194.  
  1195.                     Utilization is proportional to throughput. The FTPD NLM
  1196.                     contains no throttling component, therefore it will use
  1197.                     maximum server resources during transfers in an effort
  1198.                     to supply the client as quickly as possible.
  1199.  
  1200.                     Idle connections cause zero server utilization.
  1201.                     However, if the monitor display is enabled and the
  1202.                     screen update delay is low (less than 3 seconds) and
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.                                                                          20
  1209.  
  1210.                     there are several connections, then the utilization
  1211.                     from that component will be approximately 2 - 5
  1212.                     depending on screen update delay.
  1213.  
  1214.  
  1215.                                            %                     %          %
  1216.                                                Utilizat       %                          Client     Server                          Utilizat   Utilizat
  1217.                Operatio                           ion     Utilizat                         Throughp   Utilizat                         ion from   ion from
  1218.                   n                              from     ion from                            ut         ion                           LAN Card     DISK
  1219.                                                  FTPD      TCP NLM     Ints       Ints
  1220.  
  1221.                 Binary      330
  1222.                                        82         13%        4%         9%         51%                 Put      KB/sec
  1223.  
  1224.                 Ascii       220
  1225.                                        90         48%        3%         6%         30%                 Put      KB/sec
  1226.  
  1227.                 Binary      400        50         30%        4%         12%        --2
  1228.                  Get      KB/sec
  1229.                 Ascii       190
  1230.                                        63         58%        2%         5%         --                 Get      KB/sec
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.                               
  1259.  
  1260.                2Get operations had negligible disk interrupts because the
  1261.           file had been cached in memory.
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.                                                                          21
  1268.  
  1269.           How to Get Support
  1270.  
  1271.                     At this point in time MurkWorks is unable to provide
  1272.                     telephone support. We are keeping our product costs
  1273.                     down by reducing the manpower that would be required to
  1274.                     man a telephone. Hopefully this will change in the
  1275.                     future.
  1276.  
  1277.                     In the meantime, the best method for obtaining support
  1278.                     is by sending us electronic mail to our Internet
  1279.                     address: 
  1280.  
  1281.                               support@murkworks.com
  1282.  
  1283.                     If you are on compuserve, you can send us mail using
  1284.                     the address:
  1285.  
  1286.                               internet:support@murkworks.com
  1287.  
  1288.                     If you are not a licensed user, we may not be able to
  1289.                     answer questions pertaining to installation problems or
  1290.                     configuration issues. If you have found what you
  1291.                     consider to be a problem with the FTPD NLM, please feel
  1292.                     free to write to us with detailed information about the
  1293.                     problem, your environment, and the commands issued
  1294.                     which caused the problem. Be sure to include the
  1295.                     current version number of the NLM when you write.
  1296.  
  1297.                     You can always write to us:
  1298.  
  1299.                          MurkWorks
  1300.                          P.O. Box 631
  1301.                          Potsdam, NY 13676-0631  USA
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.                                                                          22
  1308.  
  1309.                                       Appendix A
  1310.                               Sample Configuration File
  1311.  
  1312.            # Sample FTPD.CFG file for FTPD.NLM   
  1313.            #
  1314.            # lines beginning with # are comments.
  1315.  
  1316.            maxconnections 5    # specify max # connections 
  1317.                           # forced to 2 or less in DEMO mode
  1318.  
  1319.            screendelay    2    # set delay in seconds between status
  1320.                           # screen updates
  1321.  
  1322.            logfile        sys:system\logfile.ftp
  1323.                           # specify alternate logfile
  1324.  
  1325.            # The following lines are examples. Modify to 
  1326.            # suite your needs and delete any remaining lines 
  1327.            # that do not apply
  1328.  
  1329.            #####################################################
  1330.            #                DEFAULT CLASS                 
  1331.            #                               
  1332.            #   The following class conditions will be used if
  1333.            #   the incoming IP address (or name) doesn't match
  1334.            #   any other class                   
  1335.            #####################################################
  1336.            # The following class allows access to all users on 
  1337.            # all servers accept for bkc (on any server). Once 
  1338.            # connected, users may be idle up to 2 minutes, and
  1339.            # connected for at most 10 minutes. They can only login
  1340.            # mon-fri and they are only allowed readonly access
  1341.  
  1342.            class     default
  1343.                 deny */bkc
  1344.                 settings  connect 10, idle 2 +
  1345.                           timerange mon-fri/0-23 +
  1346.                           readonly
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.                                                                               23
  1353.  
  1354.            #########################################################
  1355.            #    CLASS DOM.MURK.COM
  1356.            #                
  1357.            # The following class is used if the client IP address 
  1358.            # is in subnet 20
  1359.            # or any name ending in dom.murk.com
  1360.            #########################################################
  1361.            # Access to all servers is denied, accept for access to 
  1362.            # server GIMP,  which allows all users. However users can 
  1363.            # only login mon-fri between 10PM and 5AM, or
  1364.            # any time saturday and sunday
  1365.  
  1366.            class     dom_murk_com
  1367.                 address   *.dom.murk.com
  1368.                 address   113.121.20.*
  1369.                 deny */*
  1370.                 allow     gimp/*
  1371.                 settings  timerange mon-fri/22-5 +
  1372.                           timerange sat-sun/0-23
  1373.  
  1374.            ##########################################################
  1375.            #    CLASS MURKWORKS                           
  1376.            #                                    
  1377.            # This class is used if the client IP address is in class 
  1378.            # B network 113.121 or its IP name ends in murk.com      
  1379.            # NOTE: Class dom.murk.com has precidence over this class as
  1380.            # appropriate since it is more specific              
  1381.            ##########################################################
  1382.            # This class allows access to any user on THIS SERVER ONLY
  1383.            # All users except for bkc have readonly access and can only login 
  1384.            # on weekends between 10am and 9pm
  1385.            # User bkc has access only on the weekends
  1386.            # In either case, all read/write operations will be logged to 
  1387.            # the file vol1:usr\fred\logfile.ftp
  1388.  
  1389.            class     murkworks
  1390.                 address   113.121.*.*
  1391.                 address   *.murk.com
  1392.                 deny */*
  1393.                 allow     *    readonly timerange sun-sat/10-21
  1394.                 allow     bkc  timerange sat-sun/0-23
  1395.                 settings       log 25 +
  1396.                            logfile vol1:usr\fred\logfile.ftp
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.                                                                               24
  1403.  
  1404.                                              Appendix B
  1405.                                        Supported FTP Commands
  1406.  
  1407.  
  1408.                     The following FTP commands are supported. Be aware that
  1409.                     these are protocol level commands and are not necessarily
  1410.                     the commands that a user would type at the command line of
  1411.                     their client.
  1412.  
  1413.  
  1414.                     USER  PORT  RETR  ALLO  PASS  STOR  CWD   XCWD  XPWD  
  1415.                     LIST  NLST  HELP  QUIT  MODE  TYPE  STRU  ACCT  NOOP  
  1416.                     RMD   MKD   DELE  SITE
  1417.  
  1418.  
  1419.                     The site specific command supported in this version is:
  1420.  
  1421.                          SITE TP
  1422.  
  1423.                     This command returns a list of trustee paths.